package com.zenith.storage.po.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.zenith.common.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 文件操作审计实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(name = "文件操作审计实体类", description = "文件操作审计实体类")
public class StorageAuditLog extends BaseEntity {
    /**
     * 用户ID
     */
    @Schema(description = "用户ID")
    private Long userId;

    /**
     * 文件ID
     */
    @Schema(description = "文件ID")
    private Long fileId;

    /**
     * 上传/下载/删除/分享/移动
     */
    @Schema(description = "上传/下载/删除/分享/移动")
    private String action;

    /**
     * 操作IP
     */
    @Schema(description = "操作IP")
    private String ip;

    /**
     * User-Agent
     */
    @Schema(description = "User-Agent")
    private String ua;

    /**
     * 扩展信息（JSON）
     */
    @Schema(description = "扩展信息（JSON）")
    private String extJson;
}